# [钛妹]: 列表方法这么多，每个怎么用呀？
# [钛妹]: 像工具箱里工具都要试一遍吗？
# [钛妹]: 钛哥快逐个展示说明书！

# ========== 添加元素组 ==========
# [钛哥]: 现在演示添加三件套
fruits = ["苹果", "香蕉"]
fruits.append("橘子")  # 末尾添加单个元素
print("append演示：", fruits)  # ["苹果","香蕉","橘子"]

fruits.insert(1, "芒果")  # 在索引1插入元素
print("insert演示：", fruits)  # ["苹果","芒果","香蕉","橘子"]

fruits.extend(["葡萄", "西瓜"])  # 合并新列表
print("extend演示：", fruits)  # 添加两个新水果

# ========== 删除元素组 ========== 
# [钛妹]: 那删除方法呢？
nums = [10, 20, 30, 40, 20]
nums.remove(20)  # 删除第一个匹配值
print("remove演示：", nums)  # [10,30,40,20]

popped = nums.pop(1)  # 删除索引1的元素
print("pop演示：", nums, "取出：", popped)  # [10,40,20] 取出30

nums.clear()  # 清空列表
print("clear演示：", nums)  # 空列表

# ========== 查询统计组 ==========
# [钛哥]: 现在看信息查询方法
letters = ["a", "b", "a", "c"]
print("count演示：", letters.count("a"))  # 2次出现
print("index演示：", letters.index("c"))  # 索引位置3

# ========== 排序调整组 ==========
scores = [88, 92, 75]
scores.sort()  # 默认升序
print("sort演示：", scores)  # [75,88,92]

scores.sort(reverse=True)  # 降序排列
print("reverse-sort演示：", scores)  # [92,88,75]

scores.reverse()  # 单纯反转顺序
print("reverse演示：", scores)  # [75,88,92]

# ========== 复制操作组 ========== 
old = [["A"], "B"]
new = old.copy()  # 浅拷贝
old[0].append("A+")
print("copy演示：", new)  # [["A","A+"],"B"]

# ========== 扩展案例 ==========
# [钛哥]: 综合案例——管理待办事项
todo = []
todo.append("写邮件")
todo.insert(0, "晨会")
todo.extend(["编程", "健身"])
print("\n待办初始：", todo)

todo.remove("晨会")
todo.pop(-1)  # 移除最后一项
print("处理后：", todo)
print("还剩", len(todo), "个任务")  # 内置函数len演示

# [钛哥]: 重点总结——11种方法分类记
# [钛哥]: 增：append/insert/extend
# [钛哥]: 删：remove/pop(index)/clear
# [钛哥]: 查：count/index
# [钛哥]: 改：sort/reverse
# [钛哥]: 复制：copy
# [钛妹]: 哇！每个方法都有独特技能
# [钛妹]: 像append是尾部加，insert是定点插
# [钛妹]: remove按值删，pop按索引弹，这下全明白啦！

# [钛妹]: 对了各位！持续学习才是硬道理！
# [钛妹]: 点赞关注不迷路！